package io.github.stary1993.kite.auth.service;


import com.github.yulichang.base.MPJBaseService;
import io.github.stary1993.kite.auth.entity.SysRole;

import java.util.List;

/**
 * 系统角色服务接口类
 * 提供角色相关的业务操作接口
 *
 * @author stary1993
 */
public interface SysRoleService extends MPJBaseService<SysRole> {

    /**
     * 通过用户ID，查询角色信息
     *
     * @param userId 用户ID
     * @return 角色信息列表
     */
    List<SysRole> findRolesByUserId(Long userId);

    /**
     * 根据角色ID列表查询角色列表
     *
     * @param roleIdList 角色ID列表
     * @param key        缓存key
     * @return 角色列表
     */
    List<SysRole> findRolesByRoleIds(List<Long> roleIdList, String key);

    /**
     * 通过角色ID数组，删除角色
     *
     * @param ids 角色ID数组
     * @return 删除结果，true表示删除成功，false表示删除失败
     */
    Boolean removeRoleByIds(Long[] ids);


}

